package com.ly.heart.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ly.heart.domain.KingReceiveNoticeMaterialEntity;
import com.ly.heart.domain.dto.KingOrderMaterialQueryDto;
import com.ly.heart.domain.dto.KingReceiveNoticeQueryDto;
import com.ly.heart.domain.vo.KingReceiveNoticeVo;

/**
 * 金蝶-收料通知单物料明细Service接口
 *
 * @author cxl
 * @date 2024-08-09
 */
public interface IKingReceiveNoticeMaterialService extends IService<KingReceiveNoticeMaterialEntity> {
    /**
     * 查询金蝶-收料通知单物料明细
     *
     * @param id 金蝶-收料通知单物料明细ID
     * @return 金蝶-收料通知单物料明细
     */
    public KingReceiveNoticeMaterialEntity selectKingReceiveNoticeMaterialEntityById(String id);

    /**
     * 查询金蝶-收料通知单物料明细列表
     *
     * @param kingReceiveNoticeMaterialEntity 金蝶-收料通知单物料明细
     * @return 金蝶-收料通知单物料明细集合
     */
    public List<KingReceiveNoticeMaterialEntity> selectKingReceiveNoticeMaterialEntityList(KingReceiveNoticeMaterialEntity kingReceiveNoticeMaterialEntity);

    /**
     * 新增金蝶-收料通知单物料明细
     *
     * @param kingReceiveNoticeMaterialEntity 金蝶-收料通知单物料明细
     * @return 结果
     */
    public int insertKingReceiveNoticeMaterialEntity(KingReceiveNoticeMaterialEntity kingReceiveNoticeMaterialEntity);

    /**
     * 修改金蝶-收料通知单物料明细
     *
     * @param kingReceiveNoticeMaterialEntity 金蝶-收料通知单物料明细
     * @return 结果
     */
    public int updateKingReceiveNoticeMaterialEntity(KingReceiveNoticeMaterialEntity kingReceiveNoticeMaterialEntity);

    /**
     * 批量删除金蝶-收料通知单物料明细
     *
     * @param ids 需要删除的金蝶-收料通知单物料明细ID
     * @return 结果
     */
    public int deleteKingReceiveNoticeMaterialEntityByIds(String[] ids);

    /**
     * 删除金蝶-收料通知单物料明细信息
     *
     * @param id 金蝶-收料通知单物料明细ID
     * @return 结果
     */
    public int deleteKingReceiveNoticeMaterialEntityById(String id);

    /**
     * 分页查询收料单物料信息
     * @param queryDto
     * @return
     */
    List<KingReceiveNoticeVo> getReceiveNoticePageList(KingReceiveNoticeQueryDto queryDto);

    /**
     * 根据采购订单id和物料id查询下推的收料通知单
     * @param queryDto
     * @return
     */
    String getReceiveNoticeListByOrder(KingOrderMaterialQueryDto queryDto);
}
